/****************************************************************************
*created by yang.zheng on 2020-08-12 for upload file
****************************************************************************/

//封装暴露文件上传的接口
export const fileUpload = async isMulti => {
    let result = await UploadMethod(isMulti).catch(e => {
        return e;
    })
    if (result) return result;
}

//定义文件上传
const   UploadMethod = isMulti => {
    return new Promise((res , rej) => {
        //创建一个input输入框
    let input = document.createElement('input');
    //设置输入框属性，全部为0，相当于隐藏
    input.setAttribute('style',';width:0,height:0;overflow:hidden;');
    //设置类型为file，为上传文件
    input.setAttribute('type','file');
    //确认是否可以批量上传
    if (isMulti) input.setAttribute('multiple','multiple');
    //插入到页面中
    document.body.appendChild(input);
    //添加事件监听
    input.addEventListener('change', () => {
        let files = input.files;
        if (files.length > 0) {
            res ({code : 200, data : files})
        }else {
            rej ({code : 400, message : '上传失败，请重试'})
        }
    });
    //主动触发点击事件
    input.click();
    });
}